This invention relates to the field of telecommunications services. Specifically, this invention is to an improved method for creating an audit tape from a record database.
A telecommunications system includes a complicated network of switches and modules in continual interaction with one another. Due to heavy service demands by a large number of telecommunications systems users, it is important that network trafficking be efficient and reliable.
Within a telecommunications system, components interact for call processing and for transferring information. For example, components may communicate with one another to request information needed to process a call, provide a service, or update a record. Components that operate or respond slowly or which fail may adversely affect call processing through other parts of the system and contribute to an overall increase in call processing traffic.
Telecommunications equipment includes storage media, such as a magnetic or optical disks, configured for storing information, including a toll-free number database. A toll-free number database is composed of a number of records. Typically, a toll-free record within a toll-free number database includes information specific to the corresponding toll-free number. A toll-free record may include information regarding such functions as call processing, on-line menus, call forwarding, messaging, and a variety of other applications. Thus, toll-free records vary not only in content but in size as well.
The organization of toll-free records within the toll-free database may vary from system to system. For example, some systems organize the toll-free number database by record size. In one such system, a plurality of memory locations are allocated within the storage medium. Each memory location corresponds to a predetermined range of record sizes. For storing and locating records within a memory location, each record may be treated as a fixed-size record of the largest size within the corresponding range of record sizes. Records may be identified by a subgroup of the record content, referred to as a record-key. For example, in a toll-free database, a record-key may consist of the toll-free number. Records may be located within storage locations through algorithms, such as a hashing algorithm, based upon the relative magnitude of the record-key. Records may also be stored in accordance with such algorithms. If a new record is assigned the space currently occupied by an existing record, a linked list may be utilized for storing the over-lapping information. Of course, a toll-free number database may be organized in any one of a number of other ways.
Occasionally, it is necessary to inventory the contents of a database within a telephonic system. Database records, however, are not necessarily stored in accordance with the organizational format that is preferred or required for inventory purposes. Referring to the example provided above, a regulatory authority in charge of the administration of toll-free number assignments presently requires that telecommunication service providers submit an audit tape of all toll-free numbers within the toll-free number service provider""s database. The records must be organized in toll-free numerical order on the audit tape.
In prior art systems, the audit tape is created at the Service Control Point (SCP) by first sorting the records in the SCP processor memory (e.g., RAM). Due to the high number of possible toll-free records (64 million), the SCP must surrender a large amount of memory for sorting. The SCP also uses memory for call processing, its primary function. The prior art confirms that surrendering large amounts of memory for sorting toll-free records interferes with call processing.
Thus, there is recognized in the telecommunications field a need for an improved method for sorting a large number of database records.
The present invention is directed at a method of providing, from an unsorted database of variable sized records having a numerical-field, a database of records sorted in numerical-field order. Preferably, the sorted records include selected fields. The preferred method includes determining a fixed record size for the records in the sorted database and selecting a subset of the numerical-field as a basis for pre-sorting the records. The selecting step further comprises determining a maximum amount of processor memory to be used for pre-sorting. The records are pre-sorted into record groups and the record groups are written to a storage medium. Records within the pre-sorted record groups are sorted, providing a database of records sorted in complete numerical-field order. Because a maximum is set on the amount of processor memory used for sorting, effects on call processing can be controlled and minimized.
In a further embodiment of the invention, the method comprises providing a second storage medium having groups of memory storage locations allocated therein. Allocation of the groups of memory locations in the second storage medium is preferably based upon the selected subset of the numerical-field.
A still further embodiment of the invention includes writing subgroups of records from the groups of pre-sorted, fixed size records in processor memory to the second storage medium.
The unsorted database of variable sized records may comprise a toll-free number database, and the numerical-field may comprise toll-free number combinations. The pre-sorting step may be further defined by sorting the numerical-field in accord with less than six contiguous digits of the toll-free number.
In yet a further embodiment, each of the records in the sorted database consists of a toll-free number field, a toll-free record update time field, and a toll-free number owner identifier field. Preferably, each of the subgroups of records from the groups of pre-sorted, fixed size records consist of no more than 530 records and writing from the processor memory to the second memory device occurs no more frequently than approximately 9 times per second. The method may further comprise the step of writing to an audit tape the database of records sorted in complete numerical-field order.